
// 
const mongoose = require('mongoose');

// 连接数据库
//    创建数据库   端口号后面斜杠  写自己的数据库名字
//    如果有这个数据库就直接连接这个数据库，如果没有就会自动创建一个数据库
mongoose.connect('mongodb://127.0.0.1:27017/test');

// 创建表  (用户表，商品表，购物车表，新闻表...)

// 1 创建表的模型  --- 创建表头
const users = new mongoose.Schema({
    username: {
        type: String,   // 数据类型
        require: true   // 必填字段
    },
    password: String,
    age: Number,
    sex: {
        // 必填字段
        require: true,
        enum: ['男', '女'],
        type: String
    }
})


// 创建表：使用这个模型   mongoose.model(表的名字 , 使用的模型)
const usersModel = mongoose.model('users', users);

// 插入一条数据
// new usersModel({
//     username: 'cc',
//     password: '123',
//     age: 10,
//     sex: '女'
// }).save()
//     .then(data => {
//         console.log(data)
//     })
//     .catch(err => {
//         console.log('失败')
//     })


// 查询
//    1 查询所有,返回数组  表.find()   
//    2 
// usersModel.find()
//     .then(data => {
//         console.log(data) ;

//     })
//     .catch(err => {
//         console.log(err)
//     })

// 条件查询
// usersModel.findOne({ username: 'cc' })
//     .then(data => {
//         console.log(data);
//         console.log(data.id);   // 自动生成的字段id本来带有下划线，但是我们不用管，直接使用id
//     })
//     .catch(err => {
//         console.log(err)
//     })

// 修改   usersModel.updateOne({修改的条件条件} , {修改的内容})
// usersModel.updateOne({ username: 'yy' }, { username: 'qq' })
//     .then(data => {
//         console.log(data);
//         const { matcthedCount } = data;
//         if (matcthedCount === 1) {
//             console.log('修改成功');
//         }
//         else {
//             console.log('修改失败');
//         }
//     })
//     .catch(err => {    // 数据库操作失误
//         console.log(2222)
//         console.log(err)
//     })

// 删除   usersModel.deleteOne({删除的条件})     
// usersModel.deleteOne({ username: 'qq' })
//     .then(data => {
//         console.log(data);
//         const { deleteCount } = data;
//         if (deleteCount === 1) {
//             console.log('删除成功');
//         }
//         else {
//             console.log('删除失败');
//         }
//     })




// 导出 
module.exports = usersModel;